home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…rary 6 (Reseller Edition) / Apple Ref. & Pres. Lib.v6.0.toast / pc / 3-Presentations / Markets / Education / Solutions.91 / Information Resources / stack.txt < prev   
Text File  |  1990-12-05  |  8KB  |  262 lines

  1. -- stack: in
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x1000 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 3
  11. -- first background id: 95510
  12. -- card count: 412
  13. -- first card id: 95297
  14. -- list block id: 114163
  15. -- print block id: 84040
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 244192 bytes
  21. -- stack block size: 7680 bytes
  22. -- created by hypercard version: 0x00000000
  23. -- compacted by hypercard version: 0x01258000
  24. -- modified by hypercard version: 0x01258000
  25. -- opened by hypercard version: 0x01258000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x0000220000002200
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0xCC003300CC003300
  30. -- patterns[4]: 0xCC883322CC883322
  31. -- patterns[5]: 0xEE88BB22EE88BB22
  32. -- patterns[6]: 0xEECCBB33EECCBB33
  33. -- patterns[7]: 0xFFCCFF33FFCCFF33
  34. -- patterns[8]: 0xFFEEFFBBFFEEFFBB
  35. -- patterns[9]: 0xFFFFFFBBFFFFFFBB
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0x55AA55AA55AA55AA
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. ‚Äì‚Äì Solutions
  69. ‚Äì‚Äì version 1.3 ‚Äì‚Äì February 22,1989
  70. ‚Äì‚Äì Copyright Apple Computer, Inc. 1988 - 1989
  71. ‚Äì‚Äì Original Version by HyperPro
  72. ‚Äì‚Äì Current Revision by Eli Cochran
  73. ‚Äì‚Äì lineClicked & scrollLineClicked functions by Robin Shank
  74.  
  75. ‚Äì‚Äì HANDLERS: closeCard, beginSearch, doFind, notFound, returnKey
  76. ‚Äì‚Äì findDialog, openStack, closeStack, sort
  77.  
  78. ‚Äì‚Äì FUNCTIONS: scrollLineClicked, lineClicked
  79.  
  80. ‚Äì‚Äì X-THINGS:
  81. ‚Äì‚Äì printOut (by Gary Bond, copyright Apple Computer, Inc 1988 - 1989)
  82. ‚Äì‚Äì dialog   (by Gary Bond, copyright Apple Computer, Inc 1988 - 1989)
  83.  
  84. function scrollLineClicked theOffSet
  85. return (round((the scroll of the target / the textHeight of the target) +  (((the clickV - top of the target - theOffSet) div the textHeight of the target) + 1)))
  86. end scrollLineClicked
  87.  
  88. function lineClicked
  89. return ((the clickV - top of the target) div the textHeight of the target) + 1
  90. end lineClicked
  91.  
  92. on closeCard
  93.   if the visible of bkgnd btn "mask" is "true" then findDialog
  94. end closeCard
  95.  
  96. on beginSearch
  97.   global startCard, findWord, selectWord, beginning
  98.   put empty into beginning
  99.   put line 1 of bkgnd field "finder" into findWord
  100.   if (selectWord is not empty) OR (findWord is not empty) then
  101.     put the number of this card into startCard
  102.     put bkgnd field "finder" into findWord
  103.     lock screen
  104.     doFind
  105.   else select line 1 of bkgnd field "finder"
  106. end beginSearch
  107.  
  108. on doFind
  109.   global startCard, numIndexs, findWord, counter, selectWord
  110.   global prevCard, prevScroll, beginning
  111.   set cursor to watch
  112.   if the number of this card > numIndexs then go next card
  113.   else go to card (numIndexs + 1)
  114.   find string findWord
  115.   if (the result is empty) then
  116.     if the number of this card > numIndexs then
  117.       if the number of this card is beginning then
  118.         go to card prevCard
  119.         set the scroll of bkgnd field "description" to prevScroll
  120.         unlock screen with wipe right
  121.         select selectWord
  122.         answer "Found all instances of" && "‚Äú" & findWord & "‚Äù." with "Search Again" or "Cancel"
  123.         if it is "Cancel" then
  124.           put empty into beginning
  125.           exit to HyperCard
  126.         else
  127.           put empty into beginning
  128.           lock screen
  129.           doFind
  130.         end if
  131.       end if
  132.     else
  133.       add 1 to counter
  134.       if counter > 2 then notFound
  135.       else doFind
  136.     end if
  137.     if beginning is empty then
  138.       put the number of this card into beginning
  139.     end if
  140.   else notFound
  141.   put the foundChunk into selectWord -- FOUND IT
  142.   put the number of this card into prevCard
  143.   put the scroll of bkgnd field "description" into prevScroll
  144.   put 0 into counter
  145.   unlock screen with wipe right
  146.   select selectWord
  147. end doFind
  148.  
  149. on notFound
  150.   global startCard, selectWord, findWord, counter
  151.   go to card startCard
  152.   findDialog "open"
  153.   unlock screen
  154.   answer "‚Äú" & findWord & "‚Äù" && "was not found." with "OK"
  155.   select line 1 of bkgnd field "finder"
  156.   put 0 into counter
  157.   exit to HyperCard
  158. end notFound
  159.  
  160. on returnKey
  161.   global findWord
  162.   if the visible of bkgnd btn "begin search" is true then
  163.     send mouseUp to bkgnd btn "begin search"
  164.   else
  165.     if (the selection is not empty) and (findWord is not empty) then
  166.       lock screen
  167.       doFind
  168.     else pass returnKey
  169.   end if
  170. end returnKey
  171.  
  172. on findDialog what
  173.   global findWord, textInstr
  174.   lock screen
  175.   if what is not "open" then
  176.     hide bkgnd btn "mask"
  177.     hide bkgnd btn "mask1"
  178.     hide bkgnd btn "mask2"
  179.     hide bkgnd btn "mask3"
  180.     hide bkgnd btn "begin search"
  181.     hide bkgnd btn "Cancel"
  182.     hide bkgnd field "searchMe"
  183.     hide bkgnd field "finder"
  184.     hide bkgnd field "Instr"
  185.     unlock screen
  186.     put empty into bkgnd field "finder"
  187.     put empty into bkgnd field "Instr"
  188.     put empty into bkgnd field "searchMe"
  189.   else
  190.     show bkgnd btn "mask"
  191.     show bkgnd btn "mask1"
  192.     show bkgnd btn "mask2"
  193.     show bkgnd btn "mask3"
  194.     show bkgnd btn "begin search"
  195.     show bkgnd btn "Cancel"
  196.     show bkgnd field "searchMe"
  197.     show bkgnd field "finder"
  198.     show bkgnd field "Instr"
  199.     put "Click a word or phrase in the list or type an entry in" && "the field below." & return & "Then click the ‚ÄúBegin Search‚Äù button." & return & return & "Press the Return key to continue searching." into bkgnd field "Instr"
  200.     put findWord into bkgnd field "finder"
  201.     put bkgnd field 1 of first card into bkgnd field "searchMe"
  202.     unlock screen
  203.   end if
  204.   select line 1 of bkgnd field "finder"
  205. end findDialog
  206.  
  207. on openStack
  208.   global numIndexs, findWord, resetBlindTyping
  209.   push recent card
  210.   pop card into whereIcameFrom
  211.   if the version < 1.2 then
  212.     answer "This stack requires HyperCard 1.2 or later."
  213.     go whereIcameFrom
  214.     exit to HyperCard
  215.   end if
  216.   hide menubar
  217.   put ((the number of cards in bkgnd "index") + 1) into numIndexs
  218.   if the blindTyping is "true" then
  219.     set blindTyping to "false"
  220.     put "true" into resetBlindTyping
  221.   end if
  222. end openStack
  223.  
  224. on closeStack
  225.   global resetBlindTyping
  226.   push card
  227.   lock screen
  228.   go to first card
  229.   set the scroll of bkgnd field "categories" to 0
  230.   repeat for the number of cards in next bkgnd
  231.     go next card
  232.     set the scroll of bkgnd field "titles" to 0
  233.   end repeat
  234.   pop card
  235.   unlock screen
  236.   if resetBlindTyping is "true" then set blindTyping to "true"
  237. end closeStack
  238.  
  239. on sort
  240.   answer "Sorting this stack would be destructive."
  241. end sort
  242.  
  243. on domenu menu                       --// Added by Medior, Inc. 12/6/90
  244.   global RPStackName
  245.   if menu is in "Home,Quit HyperCard" and RPStackName is not "" then
  246.     set cursor to watch
  247.     put RPStackName into shortname
  248.     repeat until offset(":",shortname) = 0
  249.       delete char 1 to offset(":",shortname) of shortname
  250.     end repeat
  251.     delete last char of shortname
  252.     answer "This will return to "&shortname&"." with "Cancel" or "OK"
  253.     if it is "Cancel" then exit domenu
  254.     set cursor to watch
  255.     lock screen
  256.     go RPStackName
  257.     unlock screen with dissolve
  258.     exit domenu
  259.   else pass doMenu
  260. end domenu
  261.  
  262.